package clases;



import java.util.Collection;
import java.util.LinkedList;

public class HabilitarSoloPuertoRango extends Accion{

	private int margenInferior;
	private int margenSuperior;
	public Collection<Integer>puertosException;
	
	public HabilitarSoloPuertoRango(int margenInferior, int margenSuperior) {
		super();
		this.margenInferior = margenInferior;
		this.margenSuperior = margenSuperior;
		this.puertosException = new LinkedList<Integer>();
	}

	public HabilitarSoloPuertoRango(int margenInferior, int margenSuperior,
			Collection<Integer> puertosException) {
		super();
		this.margenInferior = margenInferior;
		this.margenSuperior = margenSuperior;
		this.puertosException = puertosException;
	}

	@Override
	public void aplicar(Paquete paquete) {
		if(!(paquete.getDestino().getPuerto() >= this.margenInferior 
				&& paquete.getDestino().getPuerto() <= this.margenSuperior 
				&& !this.puertosException.contains(paquete.getDestino().getPuerto()))){
			System.out.println("No es posible enviar msj, el puerto" + paquete.getDestino().getPuerto()  + "esta bloqueado");
		}
	}

	public int getMargenInferior() {
		return margenInferior;
	}

	public void setMargenInferior(int margenInferior) {
		this.margenInferior = margenInferior;
	}

	public int getMargenSuperior() {
		return margenSuperior;
	}

	public void setMargenSuperior(int margenSuperior) {
		this.margenSuperior = margenSuperior;
	}
	
	

}
